Автоматизация браузера – это функция, которая позволяет автоматизировать процессы в Интернете. Это может быть так же просто, как простое нажатие кнопки для сложных автоматизированных систем входа и регистрации.
Автоматизация браузера Incogniton использует веб-драйвер selenium. Кроме того, мы также поддерживаем автоматизацию Puppeteer.
Поддерживаемые языки
На данный момент поддерживается только python. Текущая реализация требует, чтобы перед запуском профиля в python были установлены некоторые дополнительные параметры. Другие языки, такие как Java, находятся в разработке.
Selenium с инкогнитоном
Для связи с интеграцией Selenium в Incogniton можно установить два порта.
Один – это общий порт API, а другой – конкретный порт концентратора селена.
Порт API по умолчанию – 35000, а порт селена по умолчанию – 4444.
Значения порта можно изменить, выполнив следующие действия:
- Перейдите в C: \ Users \ %username% \ incogniton
- Откройте auth.json
- Измените seleniumPort и apiPort на желаемые номера портов
Пример Python
from selenium import webdriver
from ast import literal_eval
import requests
incogniton_profile_id = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxx'
incogniton_url = 'http://127.0.0.1:35000/automation/launch/python/'+incogniton_profile_id
resp = requests.get(incogniton_url)
incomingJson = resp.json()
python_dict = literal_eval(incomingJson['dataDict'])
driver = webdriver.Remote(
command_executor = incomingJson['url']
,options=webdriver.ChromeOptions()))
driver.get("https://www.incogniton.com")
Puppeteer с Incogniton
Пример NodeJS
const puppeteer = require('puppeteer')
var request = require("request")
var incognitonProfileID = 'xxxxx-xxxx-xxxx-xxxx-xxxxxxxx';
var url = "http://localhost:35000/automation/launch/puppeteer/" + incognitonProfileID;
function sleepFor(sleepDuration) {
var now = new Date().getTime();
while (new Date().getTime() < now + sleepDuration) {}
}
function actions(body) {
sleepFor(3000); //Some time for the browser to actually start.
const screenshot = 'screenshot.png'
try {
(async () => {
const browserURL = body.puppeteerUrl;
const browser = await puppeteer.connect({
browserURL
});
const page = await browser.newPage()
await page.goto('https://hotmail.com')
await page.screenshot({
path: screenshot
})
await browser.close()
console.log('See screenshot: ' + screenshot)
})()
} catch (err) {
console.error(err)
}
}
request({
url: url,
json: true,
headers: {
'Content-Type': 'application/json'
}
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
actions(body)
}
})